<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"  
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"  
    xmlns:p="http://primefaces.prime.com.tr/ui"   
    template="./template.xhtml">
    
	<h:outputStylesheet library="css" name="default.css" />
	<ui:param name="tituloConteudo" value="#{msgs.titulo_conteudo_pagina_produtos}" />
	<ui:param name="larguraModal" value="520" />
	<ui:param name="alturaModal" value="580" />
	<ui:define name="conteudo">
		<h:form id="formDataTable" enctype="multipart/form-data">
			<p:menubar>
				<p:menuitem value="#{msgs.botao_novo}" rendered="#{produtoBean.perfilFuncionalidade.inserir}" actionListener="#{produtoBean.novo}" oncomplete="modalFrm.show();" update="formModal" icon="ui-icon ui-icon-disk" />
				<p:menuitem value="#{msgs.botao_excluir}" rendered="#{produtoBean.perfilFuncionalidade.excluir}" actionListener="#{produtoBean.excluir}" icon="ui-icon ui-icon-trash" update="formDataTable, alertaMensagem" />
			</p:menubar>
			<p:dataTable var="entidade"
				value="#{produtoBean.entidades}" emptyMessage="#{msgs.mensagem_sem_resultado}"
				selection="#{produtoBean.entidadesSelecionadas}" paginator="true" rows="8" widgetVar="entidadeTable" selectionMode="multiple">
				
				<f:facet name="header">
					<p:outputPanel>
						<h:outputText value="#{msgs.label_pesquisa_campos}" />
						<h:inputText id="globalFilter" onkeyup="entidadeTable.filter()" />
					</p:outputPanel>
				</f:facet>				
				
				<p:column filterBy="#{entidade.nome}" headerText="#{msgs.label_nome}" filterMatchMode="contains">
					<h:outputText value="#{entidade.nome}" />
				</p:column>
				<p:column filterBy="#{entidade.descricao}" headerText="#{msgs.label_descricao}" filterMatchMode="contains">
					<h:outputText value="#{entidade.descricao}" />
				</p:column>
				<p:column filterBy="#{entidade.preco}" headerText="#{msgs.label_preco}" filterMatchMode="contains">
					<h:outputText value="#{entidade.preco}" />
				</p:column>
				<p:column filterBy="#{entidade.prazoValidade}" headerText="#{msgs.label_prazoValidade}" filterMatchMode="contains">
					<h:outputText value="#{entidade.prazoValidade}" />
				</p:column>
				
				<p:column styleClass="colunaEditar" rendered="#{produtoBean.perfilFuncionalidade.consultar}">
					<f:facet name="header">
						<h:outputText value="#{msgs.botao_editar}" />
					</f:facet>
					<p:menubar style="width: 0px; height: 0px; margin: 0px; padding: 0px; border: 0px;">
						<p:menuitem action="#{produtoBean.editar}" style="margin: 0px; padding: 0px;" oncomplete="modalFrm.show();" update="formModal" icon="ui-icon ui-icon-pencil">
							<f:setPropertyActionListener value="#{entidade}" target="#{produtoBean.entidade}" />
						</p:menuitem>
					</p:menubar>
				</p:column>
			</p:dataTable>
		</h:form>
	</ui:define>
	
	<ui:define name="modal">
		<h:form id="formModal">
			<p:tabView activeIndex="#{produtoBean.tabSelecionada}">
				<p:tab title="Dados">
					<h:panelGrid columns="2" cellpadding="5">
						
						<h:outputLabel for="nome" value="#{msgs.label_nome}: " />
						<p:inputText value="#{produtoBean.entidade.nome}" label="nome" />
		
						<h:outputLabel for="descricao" value="#{msgs.label_descricao}: " />
						<p:inputText value="#{produtoBean.entidade.descricao}" label="descricao" />
		
						<h:outputLabel for="preco" value="#{msgs.label_preco}: " />
						<p:inputText value="#{produtoBean.entidade.preco}" label="preco" />
		
						<h:outputLabel for="prazoValidade" value="#{msgs.label_prazoValidade}: " />
						<p:inputText value="#{produtoBean.entidade.prazoValidade}" label="prazoValidade" />
		
						<h:outputLabel for="linha" value="#{msgs.label_linha}: " />
						<h:selectOneMenu value="#{produtoBean.entidade.linha}" label="linha" converter="#{linhaConverter}">
							<f:selectItems value="#{produtoBean.linhas}" />
						</h:selectOneMenu>
				
						<f:facet name="footer">
							<p:pickList value="#{produtoBean.insumos}" 
								var="insumo" 
								itemLabel="#{insumo.nome}" 
								itemValue="#{insumo}" 
								converter="#{insumoConverter}"
								iconOnly="true" />
						</f:facet>
					</h:panelGrid>
				</p:tab>
				<p:tab title="Imagem">
					<h:panelGrid id="painelImagem">
						<p:fileUpload widgetVar="uploader" fileUploadListener="#{produtoBean.atualizarImagem}" label="Procurar Imagem" auto="true" customUI="true" update="painelImagem" />
						<h:graphicImage value="image/#{produtoBean.entidade.caminhoImagem}" rendered="#{produtoBean.exibirImagem}" width="300" height="300" />
					</h:panelGrid>					
				</p:tab>
			</p:tabView>
			<p:menubar>
				<p:menuitem value="#{msgs.botao_salvar}"
					action="#{produtoBean.salvar}" oncomplete="modalFrm.hide();"
					update="formDataTable, alertaMensagem" icon="ui-icon ui-icon-disk" />
			</p:menubar>
		</h:form>
			
	</ui:define>
</ui:composition>